<?php
use Doctrine\ORM\Query\AST\Functions\DateAddFunction;

/**
 * Classe que representa o objeto Endereco
 * @name Endereco
 * @author Fabio Baía baiacfabio@gmail.com
 * @since 26/04/2013 16:20:48
 * @Entity @Table(name="endereco")
 */
class Endereco{
	const LOGRADOURO_AEROPORTO = 0;
	const LOGRADOURO_ALAMEDA = 1;
	const LOGRADOURO_AREA = 2;
	const LOGRADOURO_AVENIDA = 3;
	const LOGRADOURO_CAMPO = 4;
	const LOGRADOURO_CHACARA = 5;
	const LOGRADOURO_COLONIA = 6;
	const LOGRADOURO_CONDOMINIO = 7;
	const LOGRADOURO_CONJUNTO = 8;
	const LOGRADOURO_DISTRITO = 9;
	const LOGRADOURO_ESPLANADA = 10;
	const LOGRADOURO_ESTACAO = 11;
	const LOGRADOURO_ESTRADA = 12;
	const LOGRADOURO_FAVELA = 13;
	const LOGRADOURO_FEIRA = 14;
	const LOGRADOURO_JARDIM = 15;
	const LOGRADOURO_LADEIRA = 16;
	const LOGRADOURO_LAGO = 17;
	const LOGRADOURO_LAGOA = 18;
	const LOGRADOURO_LARGO = 19;
	const LOGRADOURO_LOTEAMENTO = 20;
	const LOGRADOURO_MORRO = 21;
	const LOGRADOURO_NUCLEO = 22;
	const LOGRADOURO_PARQUE = 23;
	const LOGRADOURO_PASSARELA = 24;
	const LOGRADOURO_PATIO = 25;
	const LOGRADOURO_PRACA = 26;
	const LOGRADOURO_QUADRA = 27;
	const LOGRADOURO_RECANTO = 28;
	const LOGRADOURO_RESIDENCIAL = 29;
	const LOGRADOURO_RODOVIA = 30;
	const LOGRADOURO_RUA = 31;
	const LOGRADOURO_SETOR = 32;
	const LOGRADOURO_SITIO = 33;
	const LOGRADOURO_TRAVESSA = 34;
	const LOGRADOURO_TRECHO = 35;
	const LOGRADOURO_TREVO = 36;
	const LOGRADOURO_VALE = 37;
	const LOGRADOURO_VEREDA = 38;
	const LOGRADOURO_VIA = 39;
	const LOGRADOURO_VIADUTO = 40;
	const LOGRADOURO_VIELA = 41;
	const LOGRADOURO_VILA = 42;
	
	/**
	 * @Id
	 * @Column(type="integer")
	 * @GeneratedValue
	 */
	private $id;
	
	/**
	 * @Column(type="string")
	 */
	private $tipoLogradouro;
	
	/**
	 * @Column(type="string")
	 */
	private $logradouro;
	
	/**
	 * @Column(type="string")
	 */
	private $numero;
	
	/**
	 * @Column(type="string")
	 */
	private $complemento;
	
	/**
	 * @Column(type="string")
	 */
	private $bairro;
	
	/**
	 * @Column(type="string")
	 */
	private $cidade;
	
	/**
	 * @Column(type="string")
	 */
	private $estado;
	
	/**
	 * @Column(type="string")
	 */
	private $pais;
	
	/**
	 * @Column(type="string")
	 */
	private $cep;
	
	/**
	 * @ManyToOne(targetEntity="Participante", inversedBy="enderecos")
	 */
	private $participante;
	
	/**
	 * @Column(type="datetime")
	 */	
	private $dataModificacao;
	
	public function Endereco(){
		$this->tipoLogradouro = "Rua";
		$this->logradouro= "";
		$this->bairro = "";
		$this->complemento = "";
		$this->numero = "";
		$this->cidade = "";
		$this->estado = "";
		$this->pais = "";
		$this->cep = "";
		$this->dataModificacao = new DateTime("now");
	}
			
	/**
	 * @access public
	 * @name setId
	 * @param int $id Id do endereco
	 * @since 26/04/2013 18:18:36
	 */
	public function setId($id){
		$this->id = $id;
	}

	/**
	 * @access public
	 * @name getId
	 * @return int Id do endereco
	 * @since 26/04/2013 18:18:40
	 */
	public function getId(){
		return $this->id;
	}
		
	/**
	* @access public
	* @name setTipoLogradouro
	* @param int $tipoLogradouro Tipo do Logradouro(Rua, Avenida, Travessa, etc)
	* @since 26/04/2013 18:19:02
	*/
	public function setTipoLogradouto($tipoLogradouro) {
		$this->tipoLogradouro = $tipoLogradouro;
	}
	
	/**
	* @access public
	* @name getTipoLogradouro
	* @return int Tipo do Logradouro(Rua, Avenida, Travessa, etc)
	* @since 26/04/2013 18:19:44
	*/
	public function getTipoLogradouro() {
		return $this->tipoLogradouro;
	}
	
	/**
	* @access public
	* @name setLogradouro
	* @param string $logradouro Logradouro
	* @since 26/04/2013 18:20:48
	*/
	public function setLogradouro($logradouro) {
		$this->logradouro = $logradouro;
	}
	
	/**
	* @access public
	* @name getLogradouro
	* @return string Logradouro 
	* @since 26/04/2013 18:23:30
	*/
	public function getLogradouro() {
		return $this->logradouro;
	}
	
	/**
	* @access public
	* @name setNumero
	* @param string $numero Número do Logradouro
	* @since 26/04/2013 18:24:30
	*/
	public function setNumero($numero) {
		$this->numero = $numero;
	}
	
	/**
	* @access public
	* @name getNumero
	* @return string Número do Logradouro
	* @since 26/04/2013 18:25:14
	*/
	public function getNumero() {
		return $this->numero;
	}
	
	/**
	* @access public
	* @name setComplemento
	* @param string $complemento Complemento do Logradouro
	* @since 26/04/2013 18:26:04
	*/
	public function setComplemento($complemento) {
		$this->complemento = $complemento;
	}
	
	/**
	* @access public
	* @name getComplemento
	* @return string Complemento do Logradouro
	* @since 26/04/2013 18:26:57
	*/
	public function getComplemento() {
		return $this->complemento;
	}
	
	/**
	* @access public
	* @name setBairro
	* @param string $bairro
	* @since 26/04/2013 18:27:51
	*/
	public function setBairro($bairro) {
		$this->bairro = $bairro;
	}
	
	/**
	* @access public
	* @name getBairro
	* @return string Bairro
	* @since 26/04/2013 18:29:08
	*/
	public function getBairro() {
		return $this->bairro;
	}
	
	/**
	* @access public
	* @name setCidade
	* @param string $cidade
	* @since 08/05/2013 16:38:36
	*/
	public function setCidade($cidade) {
		$this->cidade = $cidade;
	}
	
	/**
	* @access public
	* @name getCidade
	* @return string Cidade 
	* @since 08/05/2013 16:39:20
	*/
	public function getCidade() {
		return $this->cidade;
	}
	
	/**
	* @access public
	* @name setEstado
	* @param string $estado
	* @since 08/05/2013 16:39:42
	*/
	public function setEstado($estado) {
		$this->estado = $estado;
	}
	
	/**
	* @access public
	* @name getEstado
	* @return string Estado
	* @since 08/05/2013 16:40:32
	*/
	public function getEstado() {
		return $this->estado;
	}
	
	/**
	 * @access public
	 * @name setPais
	 * @param string $pais
	 * @since 18/06/2013 21:00:23
	 */
	public function setPais($pais) {
		$this->pais = $pais;
	}
	
	/**
	 * @access public
	 * @name getPais
	 * @return string Pais
	 * @since 18/06/2013 20:59:46
	 */
	public function getPais() {
		return $this->pais;
	}
	
	/**
	* @access public
	* @name setCEP
	* @param string $cep CEP
	* @since 08/05/2013 16:42:07
	*/
	public function setCEP($cep) {
		$this->cep = $cep;
	}
	
	/**
	* @access public
	* @name getCEP
	* @return string CEP
	* @since 08/05/2013 16:42:28
	*/
	public function getCEP() {
		return $this->cep;
	}
	
	/**
	 * @access public
	 * @param string $data Data de modificação
	 * @since 24/04/2013 15:12:54
	 */
	public function setDataModificacao($dataModificacao){
		$this->dataModificacao = $dataModificacao;
	}
	
	/**
	 * @access public
	 * @return string Data de modificação
	 * @since 24/04/2013 15:13:01
	 */
	public function getDataModificacao(){
		return $this->dataModificacao;
	}
	
	/**
	* @access public
	* @name setParticipante
	* @param Participante $participante
	* @since 29/04/2013 21:06:55
	*/
	public function setParticipante($participante) {
		$this->participante = $participante;
	}
	
	/**
	* @access public
	* @name getParticipante
	* @return Participante 
	* @since 29/04/2013 21:11:07
	*/
	public function getParticipante() {
		return $this->participante;
	}
	
	
}